The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Changes 03
LICENSE 33
MANIFEST 11
META.json 5681
META.yml 4149
Makefile.PL 2626
README 22
lib/String/Flogger.pm 524
t/release-pod-syntax.t 33
9 files changed (This is a version diff) 137192
@@ -1,5 +1,8 @@
 Revision history for String-Flogger
 
+1.101241  2011-01-13 12:31:38 America/New_York
+          add format_string method for subclassing
+
 1.101240  2010-05-04 16:25:47 America/New_York
           better stringification of unblessed scalar refs (to ref(...))
           better stringification of undef (to null)
@@ -1,4 +1,4 @@
-This software is copyright (c) 2010 by Ricardo SIGNES <rjbs@cpan.org>.
+This software is copyright (c) 2011 by Ricardo SIGNES <rjbs@cpan.org>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@ b) the "Artistic License"
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2010 by Ricardo SIGNES <rjbs@cpan.org>.
+This software is Copyright (c) 2011 by Ricardo SIGNES <rjbs@cpan.org>.
 
 This is free software, licensed under:
 
@@ -270,7 +270,7 @@ That's all there is to it!
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2010 by Ricardo SIGNES <rjbs@cpan.org>.
+This software is Copyright (c) 2011 by Ricardo SIGNES <rjbs@cpan.org>.
 
 This is free software, licensed under:
 
@@ -9,4 +9,4 @@ dist.ini
 lib/String/Flogger.pm
 t/basic.t
 t/release-pod-syntax.t
-t/synopsis.t
\ No newline at end of file
+t/synopsis.t
@@ -3,195 +3,220 @@
    "author" : [
       "Ricardo SIGNES <rjbs@cpan.org>"
    ],
-   "build_requires" : {
-      "Test::More" : "0"
-   },
-   "configure_requires" : {
-      "ExtUtils::MakeMaker" : "6.31"
-   },
-   "generated_by" : "Dist::Zilla version 2.101230",
-   "license" : "perl",
+   "dynamic_config" : 0,
+   "generated_by" : "Dist::Zilla version 4.200000, CPAN::Meta::Converter version 2.102400",
+   "license" : [
+      "perl_5"
+   ],
    "meta-spec" : {
-      "url" : "http://module-build.sourceforge.net/META-spec-v1.4.html",
-      "version" : 1.4
+      "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+      "version" : "2"
    },
    "name" : "String-Flogger",
-   "recommends" : {},
-   "requires" : {
-      "JSON" : "0",
-      "Params::Util" : "0",
-      "Scalar::Util" : "0",
-      "Sub::Exporter" : "0",
-      "Sub::Exporter::Util" : "0"
+   "prereqs" : {
+      "configure" : {
+         "requires" : {
+            "ExtUtils::MakeMaker" : "6.31"
+         }
+      },
+      "runtime" : {
+         "requires" : {
+            "JSON" : 0,
+            "Params::Util" : 0,
+            "Scalar::Util" : 0,
+            "Sub::Exporter" : 0,
+            "Sub::Exporter::Util" : 0
+         }
+      },
+      "test" : {
+         "requires" : {
+            "Test::More" : "0.96"
+         }
+      }
    },
+   "release_status" : "stable",
    "resources" : {
-      "repository" : "git://git.codesimply.com/String-Flogger.git"
+      "repository" : {
+         "type" : "git",
+         "url" : "git://git.codesimply.com/String-Flogger.git"
+      }
    },
-   "version" : "1.101240",
+   "version" : "1.101241",
    "x_Dist_Zilla" : {
       "plugins" : [
          {
             "class" : "Dist::Zilla::Plugin::GatherDir",
             "name" : "@RJBS/@Basic/GatherDir",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::PruneCruft",
             "name" : "@RJBS/@Basic/PruneCruft",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::ManifestSkip",
             "name" : "@RJBS/@Basic/ManifestSkip",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaYAML",
             "name" : "@RJBS/@Basic/MetaYAML",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::License",
             "name" : "@RJBS/@Basic/License",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::Readme",
             "name" : "@RJBS/@Basic/Readme",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExtraTests",
             "name" : "@RJBS/@Basic/ExtraTests",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::ExecDir",
             "name" : "@RJBS/@Basic/ExecDir",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::ShareDir",
             "name" : "@RJBS/@Basic/ShareDir",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::MakeMaker",
             "name" : "@RJBS/@Basic/MakeMaker",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::Manifest",
             "name" : "@RJBS/@Basic/Manifest",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::TestRelease",
             "name" : "@RJBS/@Basic/TestRelease",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::ConfirmRelease",
             "name" : "@RJBS/@Basic/ConfirmRelease",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::UploadToCPAN",
             "name" : "@RJBS/@Basic/UploadToCPAN",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
-            "class" : "Dist::Zilla::Plugin::AutoPrereq",
-            "name" : "@RJBS/AutoPrereq",
-            "version" : "2.101230"
+            "class" : "Dist::Zilla::Plugin::AutoPrereqs",
+            "name" : "@RJBS/AutoPrereqs",
+            "version" : "4.200000"
          },
          {
-            "class" : "Dist::Zilla::Plugin::AutoVersion",
-            "name" : "@RJBS/AutoVersion",
-            "version" : "2.101230"
+            "class" : "Dist::Zilla::Plugin::Git::NextVersion",
+            "name" : "@RJBS/Git::NextVersion",
+            "version" : "1.103520"
          },
          {
             "class" : "Dist::Zilla::Plugin::PkgVersion",
             "name" : "@RJBS/PkgVersion",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaConfig",
             "name" : "@RJBS/MetaConfig",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::MetaJSON",
             "name" : "@RJBS/MetaJSON",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::NextRelease",
             "name" : "@RJBS/NextRelease",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodSyntaxTests",
             "name" : "@RJBS/PodSyntaxTests",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::Repository",
             "name" : "@RJBS/Repository",
-            "version" : "0.11"
+            "version" : "0.17"
+         },
+         {
+            "class" : "Dist::Zilla::Plugin::Prereqs",
+            "config" : {
+               "Dist::Zilla::Plugin::Prereqs" : {
+                  "phase" : "test",
+                  "type" : "requires"
+               }
+            },
+            "name" : "@RJBS/TestMoreWithSubtests",
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::PodWeaver",
             "name" : "@RJBS/PodWeaver",
-            "version" : "3.100710"
+            "version" : "3.101641"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Check",
             "name" : "@RJBS/@Git/Check",
-            "version" : "1.100970"
+            "version" : "1.103520"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Commit",
             "name" : "@RJBS/@Git/Commit",
-            "version" : "1.100970"
+            "version" : "1.103520"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Tag",
             "name" : "@RJBS/@Git/Tag",
-            "version" : "1.100970"
+            "version" : "1.103520"
          },
          {
             "class" : "Dist::Zilla::Plugin::Git::Push",
             "name" : "@RJBS/@Git/Push",
-            "version" : "1.100970"
+            "version" : "1.103520"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":InstallModules",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":TestFiles",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ExecFiles",
-            "version" : "2.101230"
+            "version" : "4.200000"
          },
          {
             "class" : "Dist::Zilla::Plugin::FinderCode",
             "name" : ":ShareFiles",
-            "version" : "2.101230"
+            "version" : "4.200000"
          }
       ],
       "zilla" : {
-         "class" : "Dist::Zilla",
+         "class" : "Dist::Zilla::Dist::Builder",
          "config" : {
             "is_trial" : 0
          },
-         "version" : "2.101230"
+         "version" : "4.200000"
       }
    }
 }
@@ -3,16 +3,16 @@ abstract: 'string munging for loggers'
 author:
   - 'Ricardo SIGNES <rjbs@cpan.org>'
 build_requires:
-  Test::More: 0
+  Test::More: 0.96
 configure_requires:
   ExtUtils::MakeMaker: 6.31
-generated_by: 'Dist::Zilla version 2.101230'
+dynamic_config: 0
+generated_by: 'Dist::Zilla version 4.200000, CPAN::Meta::Converter version 2.102400'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
   version: 1.4
 name: String-Flogger
-recommends: {}
 requires:
   JSON: 0
   Params::Util: 0
@@ -21,135 +21,143 @@ requires:
   Sub::Exporter::Util: 0
 resources:
   repository: git://git.codesimply.com/String-Flogger.git
-version: 1.101240
+version: 1.101241
 x_Dist_Zilla:
   plugins:
     -
       class: Dist::Zilla::Plugin::GatherDir
       name: '@RJBS/@Basic/GatherDir'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::PruneCruft
       name: '@RJBS/@Basic/PruneCruft'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::ManifestSkip
       name: '@RJBS/@Basic/ManifestSkip'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::MetaYAML
       name: '@RJBS/@Basic/MetaYAML'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::License
       name: '@RJBS/@Basic/License'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::Readme
       name: '@RJBS/@Basic/Readme'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::ExtraTests
       name: '@RJBS/@Basic/ExtraTests'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::ExecDir
       name: '@RJBS/@Basic/ExecDir'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::ShareDir
       name: '@RJBS/@Basic/ShareDir'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::MakeMaker
       name: '@RJBS/@Basic/MakeMaker'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::Manifest
       name: '@RJBS/@Basic/Manifest'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::TestRelease
       name: '@RJBS/@Basic/TestRelease'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::ConfirmRelease
       name: '@RJBS/@Basic/ConfirmRelease'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::UploadToCPAN
       name: '@RJBS/@Basic/UploadToCPAN'
-      version: 2.101230
+      version: 4.200000
     -
-      class: Dist::Zilla::Plugin::AutoPrereq
-      name: '@RJBS/AutoPrereq'
-      version: 2.101230
+      class: Dist::Zilla::Plugin::AutoPrereqs
+      name: '@RJBS/AutoPrereqs'
+      version: 4.200000
     -
-      class: Dist::Zilla::Plugin::AutoVersion
-      name: '@RJBS/AutoVersion'
-      version: 2.101230
+      class: Dist::Zilla::Plugin::Git::NextVersion
+      name: '@RJBS/Git::NextVersion'
+      version: 1.103520
     -
       class: Dist::Zilla::Plugin::PkgVersion
       name: '@RJBS/PkgVersion'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::MetaConfig
       name: '@RJBS/MetaConfig'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::MetaJSON
       name: '@RJBS/MetaJSON'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::NextRelease
       name: '@RJBS/NextRelease'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::PodSyntaxTests
       name: '@RJBS/PodSyntaxTests'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::Repository
       name: '@RJBS/Repository'
-      version: 0.11
+      version: 0.17
+    -
+      class: Dist::Zilla::Plugin::Prereqs
+      config:
+        Dist::Zilla::Plugin::Prereqs:
+          phase: test
+          type: requires
+      name: '@RJBS/TestMoreWithSubtests'
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::PodWeaver
       name: '@RJBS/PodWeaver'
-      version: 3.100710
+      version: 3.101641
     -
       class: Dist::Zilla::Plugin::Git::Check
       name: '@RJBS/@Git/Check'
-      version: 1.100970
+      version: 1.103520
     -
       class: Dist::Zilla::Plugin::Git::Commit
       name: '@RJBS/@Git/Commit'
-      version: 1.100970
+      version: 1.103520
     -
       class: Dist::Zilla::Plugin::Git::Tag
       name: '@RJBS/@Git/Tag'
-      version: 1.100970
+      version: 1.103520
     -
       class: Dist::Zilla::Plugin::Git::Push
       name: '@RJBS/@Git/Push'
-      version: 1.100970
+      version: 1.103520
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':InstallModules'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':TestFiles'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ExecFiles'
-      version: 2.101230
+      version: 4.200000
     -
       class: Dist::Zilla::Plugin::FinderCode
       name: ':ShareFiles'
-      version: 2.101230
+      version: 4.200000
   zilla:
-    class: Dist::Zilla
+    class: Dist::Zilla::Dist::Builder
     config:
       is_trial: 0
-    version: 2.101230
+    version: 4.200000
@@ -9,38 +9,38 @@ use ExtUtils::MakeMaker 6.31;
 
 
 my %WriteMakefileArgs = (
-                       'test' => {
-                                   'TESTS' => 't/*.t'
-                                 },
-                       'NAME' => 'String::Flogger',
-                       'DISTNAME' => 'String-Flogger',
-                       'CONFIGURE_REQUIRES' => {
-                                                 'ExtUtils::MakeMaker' => '6.31'
-                                               },
-                       'AUTHOR' => 'Ricardo SIGNES <rjbs@cpan.org>',
-                       'BUILD_REQUIRES' => {
-                                             'Test::More' => '0'
-                                           },
-                       'ABSTRACT' => 'string munging for loggers',
-                       'EXE_FILES' => [],
-                       'VERSION' => '1.101240',
-                       'PREREQ_PM' => {
-                                        'Sub::Exporter::Util' => '0',
-                                        'Scalar::Util' => '0',
-                                        'Params::Util' => '0',
-                                        'Sub::Exporter' => '0',
-                                        'JSON' => '0'
-                                      },
-                       'LICENSE' => 'perl'
-                     );
+  'ABSTRACT' => 'string munging for loggers',
+  'AUTHOR' => 'Ricardo SIGNES <rjbs@cpan.org>',
+  'BUILD_REQUIRES' => {
+    'Test::More' => '0.96'
+  },
+  'CONFIGURE_REQUIRES' => {
+    'ExtUtils::MakeMaker' => '6.31'
+  },
+  'DISTNAME' => 'String-Flogger',
+  'EXE_FILES' => [],
+  'LICENSE' => 'perl',
+  'NAME' => 'String::Flogger',
+  'PREREQ_PM' => {
+    'JSON' => '0',
+    'Params::Util' => '0',
+    'Scalar::Util' => '0',
+    'Sub::Exporter' => '0',
+    'Sub::Exporter::Util' => '0'
+  },
+  'VERSION' => '1.101241',
+  'test' => {
+    'TESTS' => 't/*.t'
+  }
+);
 
 
 unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
   my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM}; 
+  my $pp = $WriteMakefileArgs{PREREQ_PM};
   for my $mod ( keys %$br ) {
     if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod}; 
+      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
     }
     else {
       $pp->{$mod} = $br->{$mod};
@@ -1,11 +1,11 @@
 
 
 This archive contains the distribution String-Flogger,
-version 1.101240:
+version 1.101241:
 
   string munging for loggers
 
-This software is copyright (c) 2010 by Ricardo SIGNES <rjbs@cpan.org>.
+This software is copyright (c) 2011 by Ricardo SIGNES <rjbs@cpan.org>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -2,7 +2,7 @@ use strict;
 use warnings;
 package String::Flogger;
 BEGIN {
-  $String::Flogger::VERSION = '1.101240';
+  $String::Flogger::VERSION = '1.101241';
 }
 # ABSTRACT: string munging for loggers
 
@@ -55,12 +55,17 @@ sub flog {
 
   if (_ARRAYLIKE($input)) {
     my ($fmt, @data) = @$input;
-    return sprintf $fmt, $class->_encrefs(\@data);
+    return $class->format_string($fmt, $class->_encrefs(\@data));
   }
 
   return $class->_encrefs([ $input ]);
 }
 
+sub format_string {
+  my ($self, $fmt, @input) = @_;
+  sprintf $fmt, @input;
+}
+
 1;
 
 __END__
@@ -72,7 +77,7 @@ String::Flogger - string munging for loggers
 
 =head1 VERSION
 
-version 1.101240
+version 1.101241
 
 =head1 SYNOPSIS
 
@@ -104,13 +109,27 @@ The above will output:
 
   while avoiding sprintfiness, if needed
 
+=head1 METHODS
+
+=head2 flag
+
+This method is described in the synopsis.
+
+=head2 format_string
+
+  $flogger->format_string($fmt, \@input);
+
+This method is used to take the formatted arguments for a format string (when
+C<flog> is passed an arrayref) and turn it into a string.  By default, it just
+uses C<L<perlfunc/sprintf>>.
+
 =head1 AUTHOR
 
-  Ricardo SIGNES <rjbs@cpan.org>
+Ricardo SIGNES <rjbs@cpan.org>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2010 by Ricardo SIGNES <rjbs@cpan.org>.
+This software is copyright (c) 2011 by Ricardo SIGNES <rjbs@cpan.org>.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -9,7 +9,7 @@ BEGIN {
 
 use Test::More;
 
-eval "use Test::Pod 1.00";
-plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+eval "use Test::Pod 1.41";
+plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
 
-all_pod_files_ok();
\ No newline at end of file
+all_pod_files_ok();